Systems and methods for generating and assigning metadata tags

ABSTRACT

An information management system including at least one data storage device and at least one processor coupled to the at least one data storage device. The at least one processor is configured to receive at least one object, the object having a location in a hierarchical file organizational structure. The processor also generates at least one prospective keyword for the at least one object based upon the location of the object in the hierarchical organization structure, and associates the at least one object with at least one of the prospective keywords.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/355,907 filed Mar. 18, 2019, which is a U.S. patent application Ser.No. 15/234,506 filed Aug. 11, 2016, issued as U.S. Pat. No. 10,268,700on Apr. 23, 2019, which is a continuation of U.S. patent applicationSer. No. 14/067,532 filed Oct. 30, 2013, issued as U.S. Pat. No.9,418,090 on Aug. 16, 2016, and which claims the benefit of U.S.Provisional Patent Application Ser. No. 61/720,312 filed Oct. 30, 2012,the entire contents of all such applications being hereby incorporatedby reference herein for all purposes.

TECHNICAL FIELD

The embodiments herein relate to information management systems, and inparticular to information management systems and methods for electroniclearning (e-Learning) systems.

INTRODUCTION

Electronic learning (also called e-Learning or eLearning) generallyrefers to education or learning where users (e.g. learners, instructors,administrative staff) engage in education related activities usingcomputers and other computing devices. For examples, learners may enrollor participate in a course or program of study offered by an educationalinstitution (e.g. a college, university or grade school) through a webinterface that is accessible over the Internet. Similarly, learners mayreceive assignments electronically, participate in group work andprojects by collaborating online, and be graded based on assignments andexaminations that are submitted using an electronic dropbox.

Electronic learning is not limited to use by educational institutions,however, and may also be used in governments or in corporateenvironments. For example, employees at a regional branch office of aparticular company may use electronic learning to participate in atraining course offered by their company's head office without everphysically leaving the branch office.

Electronic learning can also be an individual activity with noinstitution driving the learning. For example, individuals mayparticipate in self-directed study (e.g. studying an electronic textbookor watching a recorded or live webcast of a lecture) that is notassociated with a particular institution or organization.

Electronic learning often occurs without any face-to-face interactionbetween the users in the educational community. Accordingly, electroniclearning overcomes some of the geographic limitations associated withmore traditional learning methods, and may eliminate or greatly reducetravel and relocation requirements imposed on users of educationalservices.

Furthermore, because course materials can be offered and consumedelectronically, there are often fewer physical restrictions on learning.For example, the number of learners that can be enrolled in a particularcourse may be practically limitless, as there may be no requirement forphysical facilities to house the learners during lectures.

Furthermore, learning materials (e.g. handouts, textbooks, etc.) may beprovided in electronic formats so that they can be reproduced for avirtually unlimited number of learners.

Finally, lectures may be recorded and accessed at varying times (e.g. atdifferent times that are convenient for different users), thusaccommodating users with varying schedules, and allowing users to beenrolled in multiple courses that might have a scheduling conflict whenoffered using traditional techniques.

In many cases, learners participating in electronic learning may bepresented a large number of learning materials in an electronic format.In these cases, it may be challenging for the learner to organize, sortor search through a large number of materials to locate desired learningmaterials.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments will now be described, by way of example only, withreference to the following drawings, in which:

FIG. 1 is a schematic diagram illustrating an information managementsystem according to some embodiments;

FIG. 2 is a schematic diagram illustrating an exemplary graphical userinterface (GUI) that may be provided by one or more processors of thesystem shown in FIG. 1;

FIG. 3 is a schematic diagram illustrating another exemplary GUI;

FIG. 4 is a schematic diagram illustrating another exemplary GUI;

FIG. 5 is a schematic diagram illustrating another exemplary GUI;

FIG. 6 is a schematic diagram illustrating a number of modules that maybe provided by one or more of the processors of the system of FIG. 1 toassociate keywords with various objects;

FIG. 7 is a schematic diagram illustrating an exemplary index that maybe produced by one or more processors of the system of FIG. 1;

FIG. 8 is a schematic diagram illustrating an exemplary hierarchicalorganization that may be generated from the information contained in theindex shown in FIG. 7; and

FIG. 9 is schematic diagram illustrating a method for managinginformation according to some embodiments.

DETAILED DESCRIPTION OF SOME EMBODIMENTS

For simplicity and clarity of illustration, where consideredappropriate, reference numerals may be repeated among the figures toindicate corresponding or analogous elements or steps. In addition,numerous specific details are set forth in order to provide a thoroughunderstanding of the exemplary embodiments described herein. However, itwill be understood by those of ordinary skill in the art that theembodiments described herein may be practiced without these specificdetails. In other instances, well-known methods, procedures andcomponents have not been described in detail so as not to obscure theembodiments generally described herein.

Furthermore, this description is not to be considered as limiting thescope of the embodiments described herein in any way, but rather asmerely describing the implementation of various embodiments asdescribed.

In some cases, the embodiments of the systems and methods describedherein may be implemented in hardware or software, or a combination ofboth. In some cases, embodiments may be implemented in one or morecomputer programs executing on one or more programmable computingdevices comprising at least one processor, a data storage device(including in some cases volatile and non-volatile memory and/or datastorage elements), at least one input device, and at least one outputdevice.

In some embodiments, each program may be implemented in a high levelprocedural or object oriented programming and/or scripting language tocommunicate with a computer system. However, the programs can beimplemented in assembly or machine language, if desired. In any case,the language may be a compiled or interpreted language.

In some embodiments, the systems and methods as described herein mayalso be implemented as a non-transitory computer-readable storage mediumconfigured with a computer program, wherein the storage medium soconfigured causes a computer to operate in a specific and predefinedmanner to perform at least some of the functions as described herein.

Referring now to FIG. 1, illustrated therein is an informationmanagement system 10 according to some embodiments. The system 10 asshown may be an electronic learning system or eLearning system. However,in other instances the system 10 may not be limited to electroniclearning systems and it may be used with other types of systems.

Using the system 10, one or more users 12, 14 may communicate with aneducational service provider 30 to participate in, create, and consumeelectronic learning services, including educational courses. In somecases, the educational service provider 30 may be part of (or associatedwith) a traditional “bricks and mortar” educational institution (e.g. agrade school, university or college), another entity that provideseducational services (e.g. an online university, a company thatspecializes in offering training courses, an organization that has atraining department, etc.), or may be an independent service provider(e.g. for providing individual electronic learning).

It should be understood that a course is not limited to courses offeredby formal educational institutions. The course may include any form oflearning instruction offered by an entity of any type. For example, thecourse may be a training seminar at a company for a group of employeesor a professional certification program (e.g. PMP, CMA, etc.) with anumber of intended participants.

In some embodiments, one or more educational groups can be defined thatincludes one or more of the users 12, 14. For example, as shown in FIG.1, the users 12, 14 may be grouped together in an educational group 16representative of a particular course (e.g. History 101, French 254),with a first user 12 or “instructor” being responsible for organizingand/or teaching the course (e.g. developing lectures, preparingassignments, creating educational content etc.), while the other users14 or “learners” are consumers of the course content (e.g. users 14 areenrolled in the course).

In some examples, the users 12, 14 may be associated with more than oneeducational group (e.g. the users 14 may be enrolled in more than onecourse, a user may be enrolled in one course and be responsible forteaching another course, a user may be responsible for teaching aplurality of courses, and so on).

In some cases, educational sub-groups may also be formed. For example,the users 14 are shown as part of educational sub-group 18. Thesub-group 18 may be formed in relation to a particular project orassignment (e.g. sub-group 18 may be a lab group) or based on othercriteria. In some embodiments, due to the nature of the electroniclearning, the users 14 in a particular sub-group 18 need not physicallymeet, but may collaborate together using various tools provided by theeducational service provider 30.

In some embodiments, other groups 16 and sub-groups 18 could includeusers 14 that share common interests (e.g., interests in a particularsport), that participate in common activities (e.g., users that aremembers of a choir or a club), and/or have similar attributes (e.g.,users that are male or female, users under twenty-one years of age,etc.).

Communication between the users 12, 14 and the educational serviceprovider 30 can occur either directly or indirectly using any one ormore suitable computing devices. For example, the user 12 may use acomputing device 20 having one or more client processors such as adesktop computer that has at least one input device (e.g. a keyboard anda mouse) and at least one output device (e.g. a display screen andspeakers).

The computing device 20 can generally be any suitable device forfacilitating communication between the users 12, 14 and the educationalservice provider 30. For example, the computing device 20 could be alaptop 20 a wirelessly coupled to an access point 22 (e.g. a wirelessrouter, a cellular communications tower, etc.), a wirelessly enabledpersonal data assistant (PDA) 20 b or smart phone, a terminal 20 c, atablet computer 20 d, or a game console 20 e operating over a wiredconnection 23.

The computing devices 20 may be connected to the service provider 30 viaany suitable communications channel. For example, the computing devices20 may communicate to the educational service provider 30 over a localarea network (LAN) or intranet, or using an external network (e.g. byusing a browser on the computing device 20 to browse to one or more webpages or other electronic files presented over the Internet 28 via adata connection 27).

In some examples, one or more of the users 12, 14 may be required toauthenticate their identities in order to communicate with theeducational service provider 30. For example, each of the users 12, 14may be required to input a user identifier such as a login name, and/ora password associated with that user or otherwise identify themselves togain access to the system 10.

In some examples, one or more users (e.g., “guest” users) may be able toaccess the system without authentication. Such guest users may beprovided with limited access, such as the ability to review one or morecomponents of the course to decide whether they would like toparticipate in the course but without the ability to post comments orupload electronic files.

In some embodiments, one or more wireless access points 22 may connectto the educational service provider 30 through a data connection 25established over the LAN or intranet. Alternatively, the wireless accesspoints 22 may be in communication with the educational service provider30 via the Internet 28 or another external data communications network.For example, one user 14 may use a laptop 20 a to browse to a webpagethat displays elements of an electronic learning system (e.g. a coursepage).

The educational service provider 30 generally includes a number offunctional components for facilitating the provision of electroniclearning services. For example, the educational service provider 30generally includes one or more processing devices such as servers 32,each having one or more processors. The processors on the servers 32will be referred to generally as “remote processors” so as todistinguish them from client processors found in computing devices (20,20 a-20 e). The servers 32 are configured to send information (e.g.electronic files such as web pages) to be displayed on one or morecomputing devices 20 in association with the electronic learning system10 (e.g. course information). In some embodiments, a server 32 may be acomputing device 20 (e.g. a laptop or personal computer).

The educational service provider 30 also generally includes one or moredata storage devices 34 (e.g., memory, etc.) that are in communicationwith the servers 32, and which could include a relational database (suchas a SQL database), or other suitable data storage devices. The datastorage devices 34 are configured to host data 35 about the coursesoffered by the service provider (e.g., course frameworks, educationalmaterials to be consumed by the users 14, records of assessments done byusers 14, etc.).

The data storage devices 34 may also store authorization criteria thatdefine what actions may be taken by the users 12, 14. In someembodiments, the authorization criteria may include at least onesecurity profile associated with at least one role. For example, onerole could be defined for users who are primarily responsible fordeveloping an educational course, teaching it, and assessing workproduct from other users for that course. Users with such a role mayhave a security profile that allows them to configure various componentsof the course, post assignments, add assessments, evaluate performance,and so on.

In some embodiments, some of the authorization criteria may be definedby specific users 40 who may or may not be part of the educationalcommunity 16. For example, administrator users 40 may be permitted toadminister and/or define global configuration profiles for the system10, define roles within the system 10, set security profiles associatedwith the roles, and assign the roles to particular users 12, 14 in thesystem 10. In some cases, the users 40 may use another computing device(e.g. a desktop computer 42) to accomplish these tasks.

The data storage devices 34 may also be configured to store otherinformation, such as personal information about the users 12, 14 of thesystem 10, information about which courses the users 14 are enrolled in,roles to which the users 12, 14 are assigned, particular interests ofthe users 12, 14 and so on.

The servers 32 and data storage devices 34 may also provide otherelectronic learning management tools (e.g. allowing users to add anddrop courses, communicate with other users using chat software, etc.),and/or may be in communication with one or more other vendors thatprovide the tools.

In some embodiments, the system 10 may also have one or more backupservers 31 that may duplicate some or all of the data 35 stored on thedata storage devices 34. The backup servers 31 may be desirable fordisaster recovery (e.g. to prevent undesired data loss in the event ofan event such as a fire, flooding, or theft). In some embodiments, thebackup servers 31 may be directly connected to the educational serviceprovider 30 but located within the system 10 at a different physicallocation.

Referring now to FIG. 2, illustrated therein a schematic diagramillustrating an exemplary graphical user interface (“GUI”) 90 that maybe provided by one or more processors of the system 10. In general theGUI 90 is associated with a user profile 92. One or more users 12, 14,40 may interact with the GUI 90 access and/or organize information asdesired.

The GUI 90 includes various GUI objects. The objects are generallyvarious features provided by the GUI 90. For example, the objects mayinclude indicators (e.g. icons) of folders, files, graphic elements,control elements, and any other features that may be included in thegraphical user interface. In the example as shown, the GUI 90 includes aplurality of folders, generally indicated by reference numeral 104,which are further described below.

In some cases, the folders 104 may be generated based upon user inputand/or automatically generated based upon other data associated with theuser profile. For example, the folders 104 may be automaticallygenerated based upon one or more courses that the user profile isassociated with (e.g., a course that the user is enrolled in).

Each of the folders may be assigned a name. In various embodiments, thefolder name may be generated based upon user input or preselectedautomatically without user input. For example, if a folder is generatedfor one or more of the courses that the user profile is associated with,the folder name may be derived from the name of (or other details about)the course.

In the GUI 90, the folder names include “Economics” for folder 106,“Mathematics” for folder 108, “Philosophy” for folder 110, “Physics” forfolder 112 and “Computer Science” for folder 114.

The folders 104 in the GUI 90 are represented using icons that resemblea paper folder. However, in other cases, one or more of the folders 104may be represented using different icons. That is, the folders 104 (orany other object in the GUI) may be illustrated using labels, textboxes, graphical icons or any other suitable indicia.

Each of the folders 104 has at least one metadata tag associatedtherewith. The metadata tag, in some cases, could be a keyword, andwhich may be generally indicative of the subject of the content of thefolder.

In some embodiments, one or more of the processors of the system 10 maybe configured to provide a keyword generation module, which may assistwith generating keywords to associate with one or more object. Thekeyword generation module is described in further detail with referenceto FIG. 6 below.

In the GUI 90, the metadata tag for folder 106 include the keyword“ECON106”; for folder 108, the keyword “MATH108”; for folder 110, thekeyword “PHIL110”; for folder 112, the keyword “PHYS112”, and for folder114, the keyword “CISC114”.

In some cases, the may be more than one metadata tag associated witheach folder. For example, there may be additional metadata tags such as“CS”, “ComSci” or any other suitable metadata tags associated with thefolder 114.

In some cases, the keywords may be different from the name of theobjects. In some cases, one or more of the keywords may be the same asthe name of the objects.

Referring now to FIG. 3, illustrated therein is another GUI 120 that maybe provided by one or more processors of the system 10. The GUI 120 maybe provided when the folder 106 in the GUI 90 is expanded to reveal itscontents.

The GUI 120 displays a number of second level folders (i.e. subfolders),generally indicated by reference numeral 122, associated with the folder106. The folders 122 are hierarchically “nested” within the folder 106for Economics. In the example as shown, there are three folders 122,namely subfolder 124 entitled “Notes”, subfolder 126 entitled “LectureSlides” and subfolder 128 entitled “Assignments”.

Each of the folders 122, will also have at least one metadata tagassociated therewith. The metadata tags associated with the folders 122include the metadata tags associated with the “parent” folder in thehierarchy, which in this case is the folder 106. In the example asshown, each of folders 122 has a metadata tag “ECON106”. That is, eachof the folder 124, 126 and 128 has the keyword “ECON106” associated withtherewith.

Furthermore, each of the folders 122 may also include one or moremetadata tags in addition to the metadata tag “inherited” from theparent folder 106. For example, the metadata tag for the folder 124 maybe the keyword “Notes”, for folder 126, keywords “Lectures” and“Handouts”, and for the folder 128, the keywords “Assignments” and“work”, all in addition to the metadata tag “ECON106” that was inheritedfrom the parent folder 106.

Referring now to FIG. 4, illustrated therein is another GUI 150 that maybe provided by one or more processors of the system 10. The GUI 150 maybe provided when the folder 124 of the GUI 120 is expanded. The GUI 150illustrates a third level of folders 152 that are nested within thefolder 124 in the hierarchy.

The third-level of folders 152 includes three subfolders, namely folder154 entitled “Week 1”, folder 156 entitled “Week 2”, and folder 158entitled “Week 3”.

Each of the folders 152 is associated with at least one metadata tag.The metadata tags associated with the folders 152 include the metadatatags associated with the parent folder in the hierarchy, which in thiscase is the Notes folder 124. In the example as shown, the Notes folder124 has the keywords “Notes” and “ECON106” associated therewith.Accordingly, the same keywords will also be associated with each of thefolders 152. That is, each of the folders 154, 156, and 158 areassociated with the metadata tags associated with their parent folder152, namely the keywords “Notes” and “ECON106”.

Furthermore, each of the folders 152 may also have other metadata tagsassociated therewith, in addition to the metadata tags inherited fromthe parent folder. In the example as shown, the folder 154 has ametadata tag “W1” associated therewith; the folder 156, a metadata tag“W2”; and the folder 158, a metadata tag “W3”.

Referring now to FIG. 5, illustrated therein is another GUI 170 that maybe provided by one or more processors of the system 10. The GUI 170 maybe provided when the folder 154 of the GUI 150 is expanded. The GUI 170includes a plurality of GUI objects 172, which are files of variousformats.

In particular, the objects 172 include a first file, namely a textdocument 174 entitled “L1.txt”; a second file, a video file 176 entitled“L2.mpeg”; a third file, a Portable Document Format (PDF) document 178entitled “Graphs.pdf”; and fourth file 180, an audio file entitled“Interview.mp3”.

The files 172 may be of varying formats, and in the example as shown,the files include a text file, PDF file, video file and audio file. Inother cases, there may be files of any other format (e.g., wordprocessing files, image files, etc.) that may be placed in the folder154.

Each of the files 172 is associated with at least one metadata tag. Themetadata tags associated with the folders 172 include the metadata tagsassociated with the parent folder in the hierarchy, which in this caseis the Week 1 folder 154. In the example as shown, the Week 1 folder 154has the keywords “ECON106”, “Notes”, and “W1” associated therewith.Accordingly, the same keywords will also be associated with each of thefolders 152. That is, each of the files 174, 176, 178, 180, and 182 areassociated with the metadata tags associated with their parent folder174, namely the keywords “ECON106”, “Notes”, and “W1”.

Furthermore, one or more of the files 172 may also have other metadatatags associated therewith, in addition to the metadata tags inheritedfrom the parent folder. In the example as shown, the file 176 isassociated with metadata tag keywords “Keynesian” and “Test Material”;and the file 180 is associated with keywords “Test Material”.

Associating suitable keywords with various GUI objects maybeadvantageous for a number of reasons. The keywords may allow user toeffectively search for and locate various objects associated with one ormore keywords, regardless of the location of the objects in thehierarchy. The keywords may also be helpful for organizing variouslearning materials. For example, the learners may indicate the learningmaterials that the user may be evaluated on by assigning the keywords“test materials” to suitable materials.

The keywords may also be used to generate a customized list of materialassociated with a particular topic. For example, searching for thekeyword “Keynesian” may locate materials that have content relating toKeynesian economics.

While various advantages exist for having suitable keywords associatedwith various learning materials, it may be time consuming for one ormore of the users to assign suitable keywords to the files and folders,and as such users may be dissuaded from doing so. Various embodimentsdescribed herein may assist in the association of suitable keywords tovarious files and folders.

In some embodiments, the keywords may be associated with files andfolders automatically without user intervention. For example, in theGUIs described above, the one or more keywords associated with theparent folder in the hierarchy are automatically associated with theobjects contained in that folder without user input.

In some embodiments, a list of prospective keywords may be presented tothe users such that the users may select one or more of the prospectivekeywords to associate with the files and folders. These prospectivekeywords may be determined based upon various factors, as describedfurther in detail below.

The GUIs 90, 120, 150 and 170 illustrate some examples of GUI objects(files and folders) organized in a hierarchical manner. Hierarchicalorganization of various files and folders may be well understood by oneor more the users of the system 10. As such, it may be advantageous touse hierarchical organization to assign various keywords to variousfiles and folders.

For instance, in one example, a new object, namely a file 182 entitled“NewFile.txt” may be added to the folder 154. The new object may becreated by a user, “dragged and dropped” from another location, orotherwise added to the folder 154. Generally, in most operating systemswhen a file is dropped into a folder, a keyword will not beautomatically associated therewith.

In contrast, according to some of the teachings herein, when a file isreceived in a folder, one or more of the processors of the system 10 maybe configured to automatically assign one or more keywords to that filethat are associated with the folder. For example, one or more of theprocessors of the system 10 may be configured to associate the file 182with the metadata tags that are already associated with the folder 154when the file 182 is placed within the folder 154.

Automatically assigning the metadata tags can allow meaningful metadatatags to be assigned to various objects based upon their location withinthe hierarchy. This can help save time and more generally provide a moredesirable user experience.

Referring now to FIG. 6, illustrated therein is a schematic diagramillustrating a number of modules 200 that may be provided by variouscombinations of one or more of the processors of the system 10 toassociate suitable metadata tags with various objects. It should beunderstood that the modules described herein are only for exemplarypurposes, and in other embodiments, the design and the number of modulesused to implement the functionalities described herein may differ or thefunctionalities may be implemented in any other suitable manners.

The modules 200 include a keyword association module 202 for generatingand associating metadata tags with various GUI objects 204. The objects204 may include one or more new files or folders or any other suitableGUI object.

In some cases, the one or more of the objects 204 could be manuallymoved to an existing folder within a hierarchy. For example, the objects204 may be a new file or a folder that is being created or copied overat a location in a hierarchy of folders in a GUI like described herein.

In some cases, the objects 204 may be provided for batch processing. Forexample, the objects 204 may be imported from an existing hierarchicallyorganized structure that includes a number of files and folders. As partof that importation, the keyword association module 202 may be used toassign suitable keywords to various existing files and folders.

The keyword association module 202 is in data communication with keywordgeneration module 206. The keyword generation module 206 can generatevarious prospective keywords for association with various objects basedupon different factors. For example, as described above the keywordgeneration module may generate prospective keywords that may beassociated with an object based upon the particular courses that theuser profile is associated with.

In some embodiments, the keyword generation module 206 may generate atleast one keyword from the object name (e.g., the folder name for one ormore of the folders 104). For example the metadata tag for folder 106may include the keyword “ECON106”; for folder 108, the keyword“MATH108”; for folder 110, the keyword “PHIL110”; for folder 112, thekeyword “PHYS112”, and for folder 114, the keyword “CISC114”.

In some embodiments, the keyword generation module 206 may generateprospective keywords based upon one or more objects contained within agiven folder in a hierarchy. For example, the keyword generation module206 may generate prospective keywords for association with variousobjects based upon one or more keywords that are associated with theobjects that are located within the folder.

In some embodiments, the keyword generation module 206 may generateprospective keywords for association with various objects based uponcontent of one or more of the objects contained within the folder, suchas, generating prospective keywords from contents of a text documentfile. For example, the keyword generation module may suggest keywordsbased upon the title of a document, and/or by frequency of occurrence ofcertain words in a document.

For instance, in an Economics related document example, the terms“supply” and “demand” may occur most often. In such a case, the keywordgeneration module 206 may suggest these terms as prospective keywords tobe associated with the object containing that document.

In some embodiments, the keyword generation module 206 may generateprospective keywords based upon activities of other user profiles thatare similar to a given user profile. For example, the keyword generationmodule 206 may determine keywords that have been associated with anotheruser profile that is similar to the user profile 92 and use thosekeywords.

The prospective keywords generated by the keyword generation module 206for one or more of the objects 204 are provided to the keywordassociation module 202.

In some embodiments, the keyword association module 202 may receive userinput to determine which of the prospective keywords should beassociated with one or more of the objects 204. For example, the keywordgeneration module 206 may suggest a number of prospective keywords to beassociated with a given object. The keyword association module 202 maypresent the prospective keywords to one or more users of the system. Theusers may then select one or of more of the prospective keywords to beassociated with the object.

In some embodiments, the keyword association module 202 may beconfigured to associate one or more of the prospective keywords with oneor more of the objects 204 automatically, without requiring user input.

The keyword association module 202 may generate a metadata index 208 fortracking the association between various keywords and objects in someembodiments.

Referring now to FIG. 7, illustrated therein is an exemplary index 220which may be produced by the keyword association module 202 for theobjects of GUI 90, 120, 150, and 170 described herein.

The index 220 includes various metadata information about the object,such as object identifier 222, object type 224, object name 226,associated metadata tags 228, and memory addresses 230. The content ofthe index 220 in other embodiments may differ.

The object identifier 222 is unique to each of the objects for thepurposes of the index 220. That is, each of the objects in the index 220may be assigned a unique identifier.

The object type 224 may refer to the format or the type of a givenobject. For example, the object type may be folders, files of variousformats, and so on.

The object name 226 may refer to the name of the object (e.g., file orfolder) that is assigned to the object. This information may be same asthe file-name in some operating systems. The name of the object willnormally include at least some alphanumeric characters and symbols. Insome cases, the name of the objects may be limited to a certaincharacter set.

The metadata tags 228 may refer to various keywords associated with theobject.

The address 230 may refer to the memory address where the object islocated. In some cases, the address 230 may refer to a unique identifieror any other information that may facilitate efficient retrieval ofinformation.

In some embodiments, after keywords are assigned to the objects 204, theobjects 204 may be stored in a non-hierarchical storage 210. That is,the storage configuration of the objects 204 may not account forhierarchy between various objects.

In some embodiments, one or more of the processors of the system 10 maybe configured to regenerate a hierarchy organization of objects basedupon the keywords associated with the objects (or having no keywordsassociated therewith). For example, the objects without any associatedkeywords may be located at the “root” level, while objects with onekeyword may be placed in the first level. The remaining objects may beorganized based upon the similarities of keywords that they areassociated with.

In some embodiments, the hierarchical organization of various objectsthat are regenerated from keywords may be the same as the originalhierarchy.

In some embodiments, the hierarchical organization of various objectsthat are regenerated from keywords may be different from the originalhierarchy.

In some embodiments, the hierarchical organization of various objectsthat are regenerated from keywords may be customized based upon userinput. For example, the users may wish to organize all files associatedwith “Week 1” from various subjects first, then subdivide by variouslearning subjects.

Referring now to FIG. 8, illustrated therein is another GUI 250 that maybe provided by one or more processors of the system 10. The GUI 250illustrates an exemplary hierarchical organization that may beregenerated from the information contained in the index 208.

In the GUI 250, the objects are organized by the keyword “W1”, followedby the keyword “Handouts”, followed by their various subjects. Thisallows the hierarchical structure to be presented in a manner such thatthe materials are organized by W1 instead of by the subject.

It should be understood that the objects may be organized according tosome other criteria such that the hierarchical organizational structurepresented is different from the one being described in the GUI 250.

In some cases, a particular set of criteria for organizing the objectsmay be stored in one of the data storage devices for subsequentretrieval and use. For example, one of the users of the system 10 mayprefer to organize their materials to be shown in a particular viewusing a customized set of criteria. In that case, the user's preferencemay be saved for later use.

In some cases, a hierarchical organization structure may be generatedautomatically based upon the keywords associated with the objects.

Referring now to FIG. 9, illustrated therein is a method 270 formanaging information. The method may be executed, for example, byvarious combinations of the processors in the system 10 describedherein. The method generally starts at step 272.

At step 272, at least one object a location in a hierarchical fileorganizational structure is received. The hierarchical fileorganizational structure may be similar to the file organizationalstructure described in exemplary GUIs described herein above.

At step 274, at least one prospective keyword for the at least oneobject is generated based upon the location of the object in thehierarchical organization structure. In some embodiments, additionalkeywords may be generated based upon various factors as described hereinabove.

At step 276, the at least one object is associated with at least one ofthe prospective keywords generated in step 274.

It should be understood that even though the embodiments are describedherein in relation to electronic learning systems, they may beapplicable in other fields of technology, such as health care.

While the above description provides examples of one or more apparatus,methods, or systems, it will be appreciated that other apparatus,methods, or systems may be within the scope of the present descriptionas interpreted by one of skill in the art. Moreover, the scope of theclaims appended hereto should not be limited by the embodiments setforth in the examples, but should be given the broadest interpretationconsistent with the description as a whole.

1. An information management system comprising: (a) at least one datastorage device; (b) at least one processor coupled to the at least onedata storage device, the at least one processor configured to: (i)receive at least one object, the object having a location in ahierarchical file organizational structure, and the at least one objectis a folder containing at least one other object; (ii) generate at leastone prospective keyword for the at least one object based upon at leastone of: a. at least one keyword associated with the at least one otherobject contained in the folder, and b. content of the at least one otherobject; and (iii) associate the at least one object with at least one ofthe prospective keyword.
 2. The system of claim 1, wherein there is atleast one other object that precedes the received object in thehierarchical organization structure, and the at least one processor isfurther configured to associate the at least one object with at leastone keyword associated with the at least one other object that precedesthe received object.
 3. The system of claim 1, wherein the at least oneprocessor is further configured to generate the at least one prospectivekeyword based upon one or more object names associated with the at leastone object.
 4. The system of claim 1, wherein when the at least oneobject is associated a user profile, the at least one processor isfurther configured to generate the at least one prospective keywordbased upon at least one keyword for a same object that is associatedwith at least one other user profile that is similar to the userprofile.
 5. The system of claim 1, wherein the at least one processor isfurther configured to: (a) provide a graphical user interface (GUI)displaying the hierarchical file organizational structure; (b) receiveat the least one object at a particular location in the hierarchicalfile organizational structure displayed in the GUI; (c) generate the atleast one prospective keyword for the at least one object based upon theparticular location of the object in the hierarchical organizationstructure; and (d) associate the at least one object with at least oneof the prospective keyword.
 6. The system of claim 1, wherein the atleast one object comprises a folder.
 7. The system of claim 1, whereinthe at least one processor is further configured to store the at leastone object in the data storage device without storing the location ofthe at least one object in the hierarchical organization structure. 8.The system of claim 1, wherein when there are a plurality of the objectsand a plurality of prospective keywords associated therewith, theprocessor is further configured to generate at least one hierarchicalorganization structure based upon the keywords associated with theobjects.
 9. A method for managing information, the method comprising:(a) receiving at least one object, the object having a location in ahierarchical file organizational structure, and the at least one objectis a folder containing at least one other object; (b) generating atleast one prospective keyword for the at least one object based upon atleast one of: (i) at least one keyword associated with the at least oneother object contained in the folder, or (ii) content of the at leastone other object; and (c) associating the at least one object with atleast one of the prospective keyword.
 10. The method of claim 9, whereinthere is at least one other object that precedes the received object inthe hierarchical organization structure, and further comprisingassociating the at least one object with at least one keyword associatedwith at least one other object that precedes the received object. 11.The method of claim 9, further comprising generating the at least oneprospective keyword based upon one or more object name associated withthe at least one object.
 12. The method of claim 9, wherein when the atleast one object is associated a user profile, generating the at leastone prospective keyword based upon at least one keyword for a sameobject that is associated with at least one other user profile similarto the user profile.
 13. The method of claim 9, further comprising: (a)providing a graphical user interface (GUI) displaying the hierarchicalfile organizational structure; (b) receiving at the least one object ata particular location in the hierarchical file organizational structuredisplayed in the GUI; (c) generating the at least one prospectivekeyword for the at least one object based upon the particular locationof the object in the hierarchical organization structure; and (d)associating the at least one object with at least one of the prospectivekeyword.
 14. The method of claim 9, wherein the at least one objectcomprises a folder.
 15. The method of claim 9, further comprisingstoring the at least one object in the data storage device withoutstoring the location of the at least one object in the hierarchicalorganization structure.
 16. The method of claim 9, wherein when thereare a plurality of objects and a plurality of the prospective keywordsassociated therewith, generating at least one hierarchical organizationstructure based upon the keywords associated with the objects.